<template>
	
	<div>
		
		<div class="u-page u-box" v-if="isShow">
			
			<div class='header'>
				<image :src='wechatURL' v-if="Step1"></image>
				<image :src='phoneURL' v-if="Step2"></image>
			</div>
			<div class='content' v-if="Step1">
				<div>微信用户登录授权</div>
				<div class="tips">请您使用前仔细阅读<span class="policy" @click="showPolicy">《隐私政策》</span>，若您点击“同意授权”即表示您同意<span class="policy" @click="showPolicy">《隐私政策》</span>的全部内容，开始使用我们的平台。</div>
			</div>
			<div class='content' v-if="Step2">
				<div>请绑定您的手机</div>
				<div class="tips">平台将获取您的手机号码，用于发送工作报酬通知。</div>
			</div>
			<div style="width: 90%;margin: 0 auto;">
				<u-button type='primary' shape="square" @click="bindGetUserInfo" :loading="loading" :disabled="disabled" :custom-style="customStyle" v-if="Step1">
					同意授权
				</u-button>
				<u-button type="primary" shape="square" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" :custom-style="customStyle" v-if="Step2">
					手机授权
				</u-button>
			</div>
		
		</div>
		
		<!-- 补充用户信息：昵称和头像 -->
		<u-modal
		  ref="uModal"
		  :show-title="false"
		  v-model="ShowEditUserInfo"
		  :mask-close-able="true"
		  :show-confirm-button="false"
		>
			<div class="u-page u-general-color">
				<div class="u-center user-head-bg" style="padding-top: 130rpx;">
					<button class="aui-flex-user" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
						<img :src="avatarUrl" alt="">
						<span class="aui-flex-vip">
							<u-icon name="camera-fill" color="#e55e97" size="40"></u-icon>
						</span>
					</button>
				</div>
				<div class="u-mt-20 u-ml-20 u-mr-20" style="border-radius: 15rpx;">
					<div class="u-flex" style="padding: 15rpx 20rpx;background: #fff;">
						<div class="u-pr-5 u-fz-15" style="color: #868585;">昵称</div>
						<div style="width: 85%;">
							<u-input v-model="nickName" type="nickname" :custom-style="inputStyle" />
						</div>
					</div>
				</div>
				<div class="u-mt-30 u-pl-20 u-pr-20">
					<div style="display: flex;justify-content: space-between;">
						<div class="" style="width: 100rpx;height: 100rpx;border-radius: 10rpx;">
							<div style="line-height: 0rpx;padding-top: 27rpx;padding-left: 27rpx;">
								<u-icon name="weixin-fill" color="#4dc822" size="50"></u-icon>
							</div>
						</div>
						<div style="width: 78%;font-size: 24rpx;">
							为保障您在平台能够顺利参与工作，赚取劳动报酬，我们建议您使用与当前微信一致的头像和昵称！
						</div>
					</div>
				</div>
				<div class="u-pt-30 u-pb-20 u-pl-20 u-pr-20">
					<u-button type="primary" :custom-style="customStyle" @click="ConfirmEditUserInfo">确定使用</u-button>
				</div>
			</div>
		</u-modal>
		<!-- 隐私政策 -->
		<u-modal v-model="policy_show" confirm-text="已知晓" title="隐私政策" confirm-color="#e55e97">
			<div class="slot-content2">
				<scroll-view scroll-y="true" style="height: 800rpx;">
					<div>为切实保护用户个人信息，广州市开放邑软件科技有限公司（以下或称“我们”）根据现行法规及政策，就“玫丽女性工作平台”制定《隐私政策》（“本隐私政策”）。本隐私政策适用于我们通过“玫丽女性工作平台”向您提供的所有服务，以及使用“玫丽女性工作平台”的全部用户。</div>
					<div>我们深知个人信息对您的重要性，并会尽全力提供安全可靠的个人信息保护服务，并将恪守以下原则：权责一致原则、目的明确原则、选择同意原则、最少够用原则、确保安全原则、主体参与原则、公开透明原则等。</div>
					<div>请在使用“玫丽女性工作平台”前仔细阅读并了解本《隐私政策》。</div>
					<div class="u-font-bold">一、我们如何收集和使用您的个人信息</div>
					<div>“玫丽女性工作平台”仅会出于必要的业务场景，收集和使用您的个人信息 ，以便向你提供对应的服务，若您不提供相关的个人信息，将无法享受相应的服务内容，以下为部分场景及其获取信息示例。</div>
					<div>产品功能：在使用存储服务时，会获取一些必要信息。如：获取您的手机号码用于注册；获取您的手机存储状态用于创建本地目录；在使用照片、视频、文件和通讯录等备份功能时和文件预览及传输时，读取对应的本地文件信息；查看网络状态用于登录和绑定设备。</div>
					<div>系统权限：为提供更好的服务体验，我们会向您申请一些系统权限。如：获取存储权限用于 传输文件；获取相机权限用于拍照上传和扫一扫；获取麦克风权限用于绑定对应设备的语音对讲。</div>
					<div>您的个人信息大部分是由您主动向我们提供或授权的，也有我们在您使用我们的产品或服务时通过Cookies、SDK及类似技术获取的。我们会采取一切合理可行的措施，保护您在平台内的个人信息。</div>
					<div class="u-font-bold">二、我们如何使用Cookie和同类技术</div>
					<div>为确保小程序正常运转，我们会在您的移动设备上存储名为Cookie的小数据文件。Cookie通常包含标识符、站点名称以及一些号码和字符。借助于Cookie，网站能够存储您的偏好或购物篮内的商品等数据。</div>
					<div>我们不会将Cookie用于本隐私政策所述目的之外的任何用途。您可根据自己的偏好管理或删除Cookie。</div>
					<div class="u-font-bold">三、个人信息的共享、转让、公开披露</div>
					<div>我们不会向“玫丽女性工作平台”以外的任何公司、组织和个人分享或向其转让，或公开披露您的个人信息。</div>
					<div class="u-font-bold">四、您的权利</div>
					<div>按照中国相关的法律、法规、标准，我们保障您对自己的个人信息行使法定权利。</div>
					<div class="u-font-bold">五、对未成年人个人信息的特别保护</div>
					<div>我们不会收集包括未成年人在内的个人信息。尽管当地法律和习俗对儿童的定义不同，但我们将不满14周岁的任何人均视为儿童。</div>
					<div class="u-font-bold">六、您的个人信息如何在全球范围转移</div>
					<div>我们不会将您的个人信息转移到除中国（仅为本隐私政策之目的，不含香港、澳门与台湾地区）外的其他国家／地区。</div>
					<div class="u-font-bold">七、本隐私政策如何更新</div>
					<div>我们可能会不时地更新本隐私政策。未经您明示同意，我们不会削减您在本隐私政策所享有的权利。我们会在本页面发布对本隐私政策所做的任何变更。</div>
					<div>对于重大变更，我们会向您提供显著的通知。</div>
					<div>
						<p>本隐私政策所指的重大变更包括但不限于：</p>
						<p>1、我们的服务模式发生重大变化。例如收集、处理、使用、共享您的个人信息；</p>
						<p>2、您参与个人信息处理方面的权利及其行使方式发生重大变化；</p>
						<p>3、我们负责处理个人信息安全的联络方式及投诉渠道发生变化时。</p>
					</div>
					<div class="u-font-bold">八、如何联系我们</div>
					<div>如果您对本隐私政策有任何疑问、意见或建议，请通过以下方式联系我们：</div>
					<div>邮箱：【perpartner@openea.net】</div>
					<div>一般情况下，我们将在十五个工作日内回复您的疑问、意见或建议。</div>
					<div>如果您对我们的回复不满意，特别是认为我们的个人信息处理行为损害了您的合法权益，请务必告知我们。</div>
				</scroll-view>
			</div>
		</u-modal>
		
	</div>

</template>

<script>
import globalData from "@/globalData";
import COS from "@/common/js/cos-wx-sdk-v5.min.js";
export default {
  data() {
    return {
		Title: '',// 标题
		Step1: true,
		Step2: false,
		isShow: false,
		isCanUse: uni.getStorageSync('isCanUse')||true,//默认为true
		countDownText: '',
		loading: false,
		disabled: false,
		type: '',//分享类型
		uid: '',//分享表的主键id
		returnURL: '',//最终跳转的URL,由接口返回
		Step: '',
		gender: '',//性别
		address: '',//地址
		openeaId: '',//crm回调使用
		group: '',//crm回调使用
		code: '',
		nickName: '',
		avatarUrl: 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0',
		ShowEditUserInfo: false,//弹窗完善用户信息标志
		UserInfo: {},
		status: '',
		customStyle: {
			background: '#e55e97 !important'
		},
		inputStyle: {
		    background: "#fff"
		},
		ShareTaskInfo: {
			taskTimes: '',
			completedTimes: '',
			completedUserid: '',
			rulesImplemented: '',
			naturalKey: '',
			inviter: ''
		},
		wechatURL: globalData.imgURL + 'wechat.png',
		phoneURL: globalData.imgURL + 'phone.png',
		policy_show: false
    };
  },

  onLoad(options) {
	//获取扫码参数
	const scene = decodeURIComponent(options.scene)
	console.log("获取扫码参数scene:"+scene)
	if(this.isNotNull(scene)){//通过扫码方式
		// const sceneArr = scene.split('#')
		// this.type = sceneArr[0]
		// console.log("获取type:"+this.type)
		// this.uid = sceneArr[1]
		this.uid = scene
	}else{
		this.type = options.type
		this.uid = options.uid
	}
	
	//如果获取不到type和uid这两个参数，直接跳转到首页
	// if(this.isNotNull(this.type) && this.isNotNull(this.uid)){
	if(this.isNotNull(this.uid)){
		//获取用户最终的返回路径
		this.getReturnURL()
		
	}else{
		uni.reLaunch({url:'/pages/index/index'})
	}

  },

  mounted() {
    
  },

  onUnload() {
    
  },

  onReady() {
    
  },

  methods: {
	  
	/**
	 * 判断用户信息完成到第几步
	 */
	getUserInfoProcess(){
		console.log("判断用户信息完成到第几步")
		//判断当前用户的登录状态
		const userInfo = uni.getStorageSync('userInfo');
		if(this.isNotNull(userInfo.userId)){
			//已登录，不显示登录按钮，判断是否已经有手机号码
			if(this.isNotNull(userInfo.phoneNumber)){
				//跳转到指定路径
				if(this.isNotNull(this.returnURL)){
					this.increaseSharedClicks()// 增加分享的点击量 2023-05-22 add by lys
					this.shareTasksRule()//判断是否需要记录完成任务相关数据
					uni.reLaunch({url:this.returnURL})
				}else{
					this.$u.toast("分享链接出错啦！")
					setTimeout(() => {
					    uni.reLaunch({url:'/pages/index/index'})
					}, 2000)
				}
			}else{
				this.isShow = true
				//手机号为空，显示获取手机号步骤
				this.Step1 = false
				this.Step2 = true
			}
		}else{
			this.isShow = true
			this.Step2 = false
			this.Step1 = true
		}
	},
	
	/**
	 * 获取用户最终的返回路径
	 */
	async getReturnURL() {
		let result = await this.$u.api.unifyRequest({
		  appid: 'ACTIVITY',
		  wf_num: 'R_ACTIVITY_BY001',
		  shareid: this.uid,// 分享记录表唯一id
		  loading: false // 默认发起请求会有一个全局的Loading，设置false可去掉
		});
		if(result.code == "200"){
			this.returnURL = result.data.shareAddress
			//获取分享完成情况信息
			this.ShareTaskInfo.taskTimes = result.data.taskTimes
			this.ShareTaskInfo.completedTimes = result.data.completedTimes
			this.ShareTaskInfo.completedUserid = result.data.completedUserid
			this.ShareTaskInfo.rulesImplemented = result.data.rulesImplemented
			this.ShareTaskInfo.naturalKey = result.data.naturalKey
			this.inviter = result.data.inviter
			const userInfo = uni.getStorageSync('userInfo')
			if(this.type == 'crm'){
				//crm生成二维码时会写一条记录到分享表，shareAddress带上了openeaId和group参数，需要取出来回调
				this.openeaId = this.GetQueryString(this.returnURL,"openeaId")
				this.group = this.GetQueryString(this.returnURL,"group")
				console.log("获取openeaId:"+this.openeaId)
				console.log("获取group:"+this.group)
				this.returnURL = "/pages/index/index"
				//如果已经登录的用户直接跳转到最终的返回路径
				if(this.isNotNull(userInfo.userId)){
					this.CallbackCRM(this.returnURL)
				}
				return
			}else{
				//判断用户信息完成到第几步
				this.getUserInfoProcess()
			}
		}else{
			this.getUserInfoProcess()
		}
	},
	
	/** 
	 * 判断是否需要记录完成任务相关数据，如果任务已完成需要执行完成规则
	 * 注意：该规则在跳转跳转分享页之前执行（并且需要taskTimes不为空）
	 */
	shareTasksRule() {
		//1、判断是否需要执行分享任务相关逻辑
		const userInfo = uni.getStorageSync('userInfo')
		if(this.isNotNull(this.ShareTaskInfo.taskTimes) && this.isNotNull(userInfo.userId) && userInfo.userId != this.ShareTaskInfo.inviter){
			//2、判断完成的用户是否包含当前用户
			if(this.ShareTaskInfo.completedUserid.indexOf(userInfo.userId) != -1){
				//2.1、如果包含，则判断是否已经完成任务但是还没执行过完成分享规则
				if(this.ShareTaskInfo.completedTimes == this.ShareTaskInfo.taskTimes && this.ShareTaskInfo.rulesImplemented != 1){
					//执行分享任务奖励规则
					this.executeFinishRule()
				}
			}else{
				//2.2、如果不包含，并且还没有完成任务数则将该用户写进分享表中，通过返回记录判断是否已经完成分享任务
				if(this.ShareTaskInfo.completedTimes != this.ShareTaskInfo.taskTimes){
					this.usercompletedShare()
				}
			}
		}
	},
	
	/** 
	 * 将点击进来该分享的用户写进分享记录表中
	 */
	async usercompletedShare(){
		const userInfo = uni.getStorageSync('userInfo')
		let completedUseridTemp = this.ShareTaskInfo.completedUserid
		if(this.isNotNull(completedUseridTemp)){
			completedUseridTemp += "," + userInfo.userId
		}else{
			completedUseridTemp = userInfo.userId
		}
		let completedTimesTemp = this.ShareTaskInfo.completedTimes
		if(this.isNotNull(completedTimesTemp)){
			completedTimesTemp = parseInt(completedTimesTemp) + 1
		}else{
			completedTimesTemp = 1
		}
		let result = await this.$u.api.unifyRequest({
			appid: 'ACTIVITY',
			wf_num: 'R_ACTIVITY_BY003',
			shareid: this.uid,// 分享记录表唯一id
			completedUserid: completedUseridTemp,
			completedTimes: completedTimesTemp,
			loading: false // 默认发起请求会有一个全局的Loading，设置false可去掉
		});
		if(result.code == 200){
			this.ShareTaskInfo.completedUserid = result.data.completedUserid
			this.ShareTaskInfo.completedTimes = result.data.completedTimes
			if(this.ShareTaskInfo.completedTimes == this.ShareTaskInfo.taskTimes){
				//执行分享任务奖励规则
				this.executeFinishRule()
			}else if(this.ShareTaskInfo.completedTimes == 1){
				//执行完成第一次用户进入分享规则
				this.executeFirstRule()
			}
		}else{
			this.showMSG('none','用户完成分享任务出错啦，请重新点击分享链接！')
		}
	},
	
	/**
	 * 执行完成第一次用户进入分享规则
	 */
	async executeFirstRule(){
		let result = await this.$u.api.unifyMiniRest({
			systemid: "meily",
			url: "/buying/firstOpenShareSendMsg",
			shareValidationId: this.ShareTaskInfo.naturalKey,
			completedTimes: 1,
			remainTimes: 2,
			loading: true
		});
		if(result.code == 200){
			
		}else{
			this.$u.toast("出错啦！");
		}
	},
	
	/** 
	 * 执行分享任务奖励规则
	 */
	async executeFinishRule(){
		let result = await this.$u.api.unifyMiniRest({
			systemid: "meily",
			url: "/buying/sendShareRewardByVerificationId",
			shareValidationId: this.ShareTaskInfo.naturalKey,
			loading: true
		});
		if(result.code == 200){
			
		}else{
			this.$u.toast("出错啦！");
		}
	},

	/**
	 * 获取用户手机号码
	 * @param {Object} e
	 */
	async getPhoneNumber(e) {
		let loginRes = this.checkLogin();
		if (loginRes) {
			let result = await this.$u.api.unifyMiniRest({
				systemid: "meily",
				url: "/applets/getPhoneNumber",
				code: e.detail.code
			});
			if(result.code == 200){
				this.savePhoneNumber(result.data)
			}else{
				this.$u.toast("出错啦！");
			}
		}
	},
	
	/**
	 * 保存手机号到用户系统
	 */
	async savePhoneNumber(phoneNumber) {
		const userInfo = uni.getStorageSync('userInfo');
		let result = await this.$u.api.unifyMiniRest({
			systemid: "sso", //必须，系统名称，这里不同的系统对接请求地址的域名前串不同，各请求地址统一写在一个全局配置文件中
			url: "/applets/save", //必须，接口请求地址
			appletId: "meily",
			action: "save",
			userId: userInfo.userId,
			phoneNumber: phoneNumber
		});
		if(result.status == 200){
			//将手机号存到本地用户缓存中
			userInfo.phoneNumber = phoneNumber
			this.SET_USER_INFO(userInfo)
			this.$u.toast("获取手机号码成功！")
			setTimeout(() => {
				this.Step1 = false
				this.Step2 = false
				this.increaseSharedClicks()// 增加分享的点击量 2023-05-22 add by lys
				this.shareTasksRule()//判断是否需要记录完成任务相关数据
				// 跳转到指定页面
				uni.reLaunch({url:this.returnURL});
			}, 2000);
		}else{
			this.$u.toast("出错啦！");
		}
	},

	/**
	 * 回调crm接口注册用户
	 */
	async CallbackCRM(backURL) {
		console.log("开始回调crm接口......")
		let result = await this.$u.api.unifyMiniRest({
				systemid: "crm", //必须，系统名称，这里不同的系统对接请求地址的域名前串不同，各请求地址统一写在一个全局配置文件中
				url: "/qr/sync", //必须，接口请求地址
				group: this.group,
				nickName: uni.getStorageSync('userInfo').nickName,
				openeaId: this.openeaId,
				userId: uni.getStorageSync('userInfo').userId,
				loading: false
		});
		if(result!='' && result!=null){
			console.log("已经成功回调crm接口。")
			if(this.isNotNull(backURL)){
				uni.reLaunch({url:backURL})
			}
		}else{
			this.showMSG('none','出错啦！请重新扫码！')
			setTimeout(() => {
				uni.reLaunch({url:'/pages/index/index'})
			}, 2000)
		}
	},

    /**
     * 关注公众号
     */
    async OfficialAccount() {
      this.$u.toast("关注公众号！！！");
    },

    /**
     * 关闭
     */
    async Close() {
		this.increaseSharedClicks()// 增加分享的点击量 2023-05-22 add by lys
		this.shareTasksRule()//判断是否需要记录完成任务相关数据
		// 跳转到指定页面
		uni.reLaunch({url:this.returnURL});
    },
	
	/**
	 * @param {Object} code
	 * 初始化用户信息（如果为新用户调用该接口后会在用户系统中注册一个用户并返回用户信息，如果为老用户则直接返回用户信息）
	 */
	async initUserInfo(code){
		  let result = await this.$u.api.unifyMiniRest({
			systemid: "sso", //必须，系统名称，这里不同的系统对接请求地址的域名前串不同，各请求地址统一写在一个全局配置文件中
			url: "/applets/login", //必须，接口请求地址
			appletId: "meily",
			code: code
		  });
		  if(this.isNotNull(result)){
			  this.UserInfo = result.data
			  this.status = result.status
			  if(!result.isNewUser){
				  this.nickName = this.UserInfo.nickName
				  this.avatarUrl = this.UserInfo.avatarUrl		  
			  }
			  this.ShowEditUserInfo = true
		  }else{
			  this.showMSG('none','登录失败')
		  }
	},
	
	/**
	 * 登录方法
	 */
	async sendLogin(code,nickName,avatarUrl) {
	  this.loading = true
	  this.disabled = true
	 
	  let result = await this.$u.api.unifyMiniRest({
	  	systemid: "sso", //必须，系统名称，这里不同的系统对接请求地址的域名前串不同，各请求地址统一写在一个全局配置文件中
	  	url: "/applets/login", //必须，接口请求地址
		appletId: "meily",
	  	code: code,
	  	nickName: nickName,
	  	avatarUrl: avatarUrl,
	  	userId: this.UserInfo.userId,
	  	openId: this.UserInfo.openid,
	  	unionId: this.UserInfo.unionid,
	  	status: this.status
	  });
	  if(this.isNotNull(result)){
			if(!this.isNotNull(result.data.userId)){
				this.showMSG('none','登录失败，请重新登录')
				this.loading = false
				this.disabled = false
				return
			}
			this.UserInfo = result.data
			this.SET_USER_INFO(this.UserInfo)
			uni.setStorageSync('isCanUse', false);
			this.loading = false
			this.disabled = true
			this.$u.toast("登录成功！");
			//来自crm的分享类型需要回调crm的接口进行用户注入crm系统
			if(this.type == 'crm'){
				this.CallbackCRM()
			}
			//判断用户状态
			this.getUserInfoProcess()
	  }else{
			this.loading = false
			this.disabled = false
			this.showMSG('none','登录失败')
	  }
	},
	
	login(authDetail) {
		let _this = this
		uni.login({
			success(res) {
			  _this.code = res.code
			  // let nickName = authDetail.userInfo.nickName
			  // let avatarUrl = authDetail.userInfo.avatarUrl
			  _this.gender = authDetail.userInfo.gender==0?'男':'女'
			  _this.getUserAddress(authDetail.userInfo.country,authDetail.userInfo.province,authDetail.userInfo.city)
			  // 调用自定义服务器方法...
			  // _this.sendLogin(code,nickName,avatarUrl)
			  _this.initUserInfo(_this.code)
			},
			fail(err) {
				console.log('获取code失败',err)
			}
		})  
	},
	  
	bindGetUserInfo(e) {
	    let _this = this
		uni.getUserProfile({
			desc:'weixin',
			success:res=>{
				_this.login(res)
				console.log(res,'授权成功');
			},
			fail:err=>{
				console.log(err,'失败授权')
				uni.reLaunch({url:'/pages/index/index'})
			}
		})
	},
	
	/**
	 * 获取用户地址
	 */
	getUserAddress(country,province,city){
		if(this.isNotNull(country)){
			this.address = country
		}
		if(this.isNotNull(province)){
			this.address += "-" + province
		}
		if(this.isNotNull(city)){
			this.address += "-" + city
		}
	},
	
	/**
	 * 获取地址字符串的参数
	 */
	GetQueryString(str,param){
		var name,value; 
		var num=str.indexOf("?") 
		str = str.substr(num+1); //取得所有参数   stringvar.substr(start [, length ]
		var arr = str.split("&"); //各个参数放到数组里
		for(var i=0;i < arr.length;i++){
			num = arr[i].indexOf("="); 
			if(num>0){
				name = arr[i].substring(0,num);
				value = arr[i].substr(num+1);
				if(name == param){
					return value;
				}
			} 
		} 
	},
	
	/**
	 * 头像上传
	 */
	onChooseAvatar(e){
		let _this = this
		// SECRETID 和 SECRETKEY请登录 https://console.cloud.tencent.com/cam/capi 进行查看和管理
		const Cos = new COS({
			SecretId: globalData.CosSecretId,
			SecretKey: globalData.CosSecretKey,
		});
		//解析原头像地址的随机值，重新生成随机值的时候排除原地址随机值，避免地址相同导致虽然图片已经上传但前端检测不到地址变化不更新头像
		let ramdom_sault = _this.getRamdomSault(_this.avatarUrl)
		let folderName = "perpartner/UserAvatar/";
		let upload_fileName = _this.UserInfo.userId + '_' + ramdom_sault + '.png'
		Cos.postObject({
		    Bucket: globalData.CosBucket,
		    Region: globalData.CosRegion,
		    Key: folderName + upload_fileName,// 文件夹+文件名称
		    FilePath: e.detail.avatarUrl,
		    onProgress: function (info) {
		        console.log(JSON.stringify(info));
		    }
		}, function (err, data) {
		    console.log(err || data);
			if(data){
				// data.Location返回的路径，会转成%之类的，导致不能直接访问，所以路径需要自己拼
				// let backUrl = "https://" + data.Location;
				let backUrl = "https://" + globalData.CosBucket + ".cos."+ globalData.CosRegion + ".myqcloud.com/" + folderName + upload_fileName;
				_this.avatarUrl = backUrl
			}else{
				_this.showMSG('none','头像上传失败，请重新上传')
			}
		});
	},
	
	/**
	 * 确定完善用户信息进行sso登录
	 */
	ConfirmEditUserInfo(){
		let _this = this
		if(_this.isNotNull(_this.nickName) && _this.isNotNull(_this.avatarUrl)){
			_this.ShowEditUserInfo = false
			_this.disabled = true
			_this.loading = true
			//请求登录接口
			_this.sendLogin(_this.code,_this.nickName,_this.avatarUrl)
		}else{
			_this.showMSG('none','须上传头像和填写昵称才能进行登录噢')
		}
		
	},
	
	/**
	 * 解析原头像地址的随机值，重新生成随机值的时候排除原地址随机值，避免地址相同
	 */
	getRamdomSault(avatar_url){
		let sault = 0
		if(this.isNotNull(avatar_url)){
			//查找.png前两个字符是否为"_"
			let flag = avatar_url.substring(avatar_url.indexOf('.png')-2,avatar_url.indexOf('.png')-1)
			if(flag == "_"){
				sault = avatar_url.substring(avatar_url.indexOf('.png')-1,avatar_url.indexOf('.png'))
				if(sault == 0){
					sault = 1
				}else{
					sault = 0
				}
			}
		}
		return sault
	},
	
	/** 
	 * 隐私政策弹窗
	 */
	showPolicy() {
		this.policy_show = true
	},
	
	/**
	 * 增加分享的点击量
	 */
	async increaseSharedClicks(){
		console.log("**************************");
		console.log("开始执行，增加分享的点击量...");
		const userInfo = uni.getStorageSync('userInfo')
		let result = await this.$u.api.unifyMiniRest({
			systemid: "meily",
			url: "/behavior/statistics/update",
			createUser: userInfo.userId,
			createUserName: userInfo.nickName,
			createUserAvatar: userInfo.avatarUrl,
			behaviorId: '',
			behaviorName: '',
			behaviorType: '2',// 分享的点击量
			sourceId: this.uid,// 分享记录id
			sourceType: '',// 
			remark: '',
			loading: true // 默认发起请求会有一个全局的Loading，设置false可去掉
		});
		console.log(result);
		console.log("增加分享的点击量，执行结束！");
		console.log("**************************");
	},
	

  },
};
</script>

<style lang="scss" scoped>
	.aui-flex-user {
	    width: 140rpx;
	    height: 140rpx;
	    margin-right: 15px;
	    position: relative;
		border: 0;
		border: none;
		outline: none;
		margin: 0;
		padding: 0;
		overflow: visible;
		border-radius: 100%;
		padding-left: 0;
		padding-right: 0;
		line-height: 0;
	}
	
	.aui-flex-user::after {
		border: none;
	}
	
	.aui-flex-vip {
	    width: 50rpx;
	    height: 50rpx;
	    display: block;
	    position: absolute;
	    right: -8rpx;
	    top: 100rpx;
	}
	
	.aui-flex-user img {
	    width: 140rpx;
	    height: 140rpx;
	    display: block;
	    border: 1px solid #fff;
	    border-radius: 100%;
	}
	
	.aui-flex-gradual {
		background-image: -webkit-gradient(linear,left top,right top,from(#fe941f),to(#ffbf56));
		background-image: -webkit-linear-gradient(left,#fe941f,#ffbf56);
		background-image: -moz-linear-gradient(left,#fe941f,#ffbf56);
		background-image: linear-gradient(to right,#fe941f,#ffbf56);
		background-color: #ffbf56;
		padding: 40px 15px;
	}
	
	.aui-flex-vip img {
		width: 100%;
		height: auto;
		display: block;
		border: none;
		border-radius: 0;
	}
	
	.user-head-bg {
		background: url("/static/images/improveinfo.png") no-repeat left top / 100%;
	}
	
	.slot-content2 {
		font-size: 28rpx;
		text-align: left;
		width: 93%;
		margin: 0 auto;
		padding-top: 20rpx;
		padding-bottom: 20rpx;
	}
	
	.slot-content2 div {
		padding-top: 30rpx;
	}
	
	.header {
		padding-top: 120rpx;
	    text-align: center;
	}
	
	.header image {
	    width: 200rpx;
	    height: 200rpx;
		margin: 0 auto;
	}
	
	.content {
		margin-top: 50rpx;
	    margin-bottom: 90rpx;
		text-align: center;
	}
	
	.content .tips {
		display: block;
		color: #9d9d9d;
		padding-top: 40rpx;
		width: 90%;
		margin: 0 auto;
		font-size: 26rpx;
		text-align: left;
    }
	
	.policy {
		font-weight: bold;
		text-decoration: underline;
	}
</style>
